package Demo_01;

import java.util.Scanner;

/**
 * 创建两个线程
 * 1. 第一个线程，不停循环去执行自己的任务
 * 2. 第二个线程，输入一个停止标识，使第一个线程退出
 */
public class Demo_volatile {
    //定义标识符
    static volatile int fag  = 0;

    public static void main(String[] args) {
        //线程一  循环执行任务
        Thread thread1 = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "准备执行任务...");
            while (fag== 0) {

            }
            System.out.println(Thread.currentThread().getName() + "任务结束...");
        },"t1");

        //启动线程1
        thread1.start();

        //线程2改变fag使线程一停止
        Thread thread2 = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "开始执行任务...");

            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个非零整数：");
            fag = scanner.nextInt();
            System.out.println(Thread.currentThread().getName() + "任务结束...");
        },"t2");
        //t2线程开始执行
        thread2.start();
    }
}
